package cn.miju.admin.system.service;

import cn.miju.admin.framework.model.BasePage;
import cn.miju.admin.system.vo.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * <pre>
 * 字典管理
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-04-06 16:26
 */
public interface DictService {
    /**
     * 获取字典树
     * @return {@link List<DictTreeOutVO>}
     */
    List<DictTreeOutVO> getTree();

    /**
     * 保存字典
     * @param inVO {@link DictSaveInVO}
     */
    void save(DictSaveInVO inVO);

    /**
     * 批量删除字典
     * @param inVO {@link DictDeleteInVO}
     */
    void deletes(DictDeleteInVO inVO);

    /**
     * 保存字典明细
     * @param inVO {@link DictSaveDetailInVO}
     */
    void saveDetail(DictSaveDetailInVO inVO);

    /**
     * 字典明细分页查询
     * @param inVO {@link DictDetailPageInVO}
     * @return {@link Page<DictDetailPageOutVO>}
     */
    Page<DictDetailPageOutVO> getDetailPage(DictDetailPageInVO inVO);

    /**
     * 批量删除字典明细
     * @param inVO {@link DictDeleteInVO}
     */
    void detailDeletes(DictDeleteInVO inVO);
}
